草庐IT

javascript - 匹配所有以四个空格为前缀的行

全部标签

ruby-on-rails - 如何让 memprof(在 rails 内)跟踪所有之前的过滤器,然后在转储输出之前进行操作?

根据Memprofgem文档,为了让Memprof::Middleware与rails一起工作,我们需要将每个请求包装在Memprof.track中。问题是:如何让memprof跟踪所有之前的过滤器,然后在转储输出之前执行操作? 最佳答案 在不了解Memprof的情况下,也不了解您要完成的目标,这是我的最佳猜测。在你的application_controller.rb中:before_filter:do_memprof_stuffdefdo_memprof_stuff#makeitreallysweetend这将在调用其他Contr

ruby - 来自 rails 3 中 therubyracer/v8 的 javascript 错误的堆栈跟踪

我正在使用therubyracer和v8在Rails3应用程序中运行一些javascript如果出现任何问题,错误消息将通过通常的Rails3异常通知流程通过电子邮件发送给我。但是,我返回的错误消息非常模糊,堆栈跟踪不会进入javascript文件本身。这是可以理解的,但是很难调试。这是一个例子:V8::JSError:Cannotreadproperty'0'ofundefinedbacktrace:lib/libraryname.rb:32:in`function_that_calls_v8'lib/libraryname.rb:18:in`fetch_and_update'app

ruby-on-rails - 以任意顺序匹配多个 yield

我想用rspec测试一个迭代器。在我看来,唯一可能的产量匹配器是yield_successive_args(根据https://www.relishapp.com/rspec/rspec-expectations/v/3-0/docs/built-in-matchers/yield-matchers)。其他匹配器仅用于单个屈服。但是yield_successive_args如果屈服顺序与指定顺序不同,则会失败。是否有任何方法或很好的解决方法来测试以任何顺序产生的迭代器?类似下面的内容:expect{|b|array.each(&b)}.toyield_multiple_args_in_

ruby-on-rails - 使用 rspec 测试 rails 而不需要运行所有初始化程序?

假设您正在开发一个Rails应用程序,它有很多初始化程序,这些初始化程序会在启动时调用各种外部系统。当使用rspec-rails运行rspec时,它会运行所有初始化器,即使您的测试很简单,不需要rails基础设施。我知道您可以使用Spork只产生一次这种成本,但有没有办法完全不产生它?仅仅为了一个简单的PORO规范而加载所有rails似乎很愚蠢。 最佳答案 不要使用spork。如果您想使用预加载器,请查看zeus或spring。您不需要加载整个Rails环境来测试不依赖于Rails的东西。这可以很简单,例如明确要求每个规范所需的依赖

ruby - 生成集合的所有 "unique"子集(不是幂集)

假设我们有一个集合S,它包含几个子集:-[a,b,c]-[a,b]-[c]-[d,e,f]-[d,f]-[e]我们还假设S包含六个唯一元素:a、b、c、d、e和f。我们如何找到S的所有可能子集,这些子集恰好包含S的每个唯一元素一次?函数/方法的结果应该是这样的:[[a,b,c],[d,e,f]];[[a,b,c],[d,f],[e]];[[a,b],[c],[d,e,f]];[[a,b],[c],[d,f],[e]].是否有任何最佳实践或任何标准方法来实现这一点?如果有伪代码、Ruby或Erlang示例,我将不胜感激。 最佳答案 听

ruby - 如何使用 SASS 解析 .scss 文件中所有 CSS 选择器的列表?

我想以编程方式解析.scss文件以生成该文件中使用的选择器的平面列表,主要作为某些静态代码分析的基础。在SASS术语中,我正在寻找一种方法来获取给定.scss文件的所有Sass::Tree::RuleNode的列表。到目前为止,我正在使用Sass::Engine.for_file创建树。然后,根据文档,为了在各个节点上使用Sass::Tree::RuleNode.resolved_rules,我必须使用Tree::Visitors::Cssize。但是某处有一个(可能很简单的)错误。require'sass'sass_engine=Sass::Engine.for_file('file

ruby - 字符串匹配(正则表达式)与正则表达式匹配(字符串)

Ruby中的string.match(regex)和regex.match(string)有什么区别?在语言中同时使用这两种结构的理由是什么? 最佳答案 除了卡在不同的对象上(有时调用一个对象比调用另一个对象更方便),它们是相同的。理由是它们都很有用,而且有时一个比另一个更方便。 关于ruby-字符串匹配(正则表达式)与正则表达式匹配(字符串),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

ruby - 如何使用 TeamCity 在所有代理上安装 Ruby gems?

我正在开发Teamcity6.5.6,并正在寻找一种在构建代理上自动安装所需的ruby​​GEMS的方法。例如:假设我在每个代理/远程(构建)机器上都需要两个gem。例如:Watir和Seleniumgem。然后我想通过登录到这些机器手动安装它们,或者我可以将它们保存在SVN中的公共(public)库文件夹中,并在Teamcity中执行一些任务以安装它们(如果机器上不存在)。如果是这样,那么Teamcity中的任务是什么?谢谢 最佳答案 看看Bundler.您可以在Gemfile中维护所需gem的列表,然后在开始构建之前在每台机器上

ruby - 为什么以空格开头的字符串转换为 : ! ' 与 Ruby/YAML

我正在使用YAML将Ruby哈希写入文件。File.open(output_file,"w"){|file|file.putsYAML::dump(final)}哈希包含作为键的字符串和作为值的float。当我的字符串只包含字母时,它们会在文件file中原样输出:abc:1.0bcd:1.0cde:1.0当一个字符串以空格开头时,它是这样输出的:!'ab':1.0当我再次读回文件时一切正常,但我想知道为什么会这样,这意味着什么。我搜索了YAML文档,它说单个感叹号用于表示本地数据类型。为什么以空格开头的字符串会出现这种情况? 最佳答案

ruby - 是否可以列出当前池中的所有数据库连接?

我在一个独立于Rails应用程序运行的守护进程中得到ActiveRecord::ConnectionTimeoutError。我将Passenger与Apache和MySQL一起用作数据库。Passenger的默认池大小为6(至少文档是这么告诉我的),因此它不应使用超过6个连接。我已将ActiveRecord的池大小设置为10,尽管我认为我的守护进程应该只需要一个连接。我的守护进程是一个具有多个线程的进程,它在这里和那里调用ActiveRecord以将内容保存到它与Rails应用程序共享的数据库中。我需要弄清楚的是线程是否根本无法共享一个连接,或者它们是否只是不断请求新连接而不释放它们